package com.yunji.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author : peter-zhu
 * @date : 2025/3/31 19:12
 * @description : TODO
 **/
@Data
public class OrderScaleVO {
    @ApiModelProperty(value = "分润ID")
    private Long scaleId;

    private Integer agentMode;

    @ApiModelProperty(value = "数据来源凭证号")
    private String dataCode;

    @ApiModelProperty("账户id")
    private Long accountId;

    @ApiModelProperty("账户类型")
    private String accountType;

    @Excel(name = "账户类型", width = 10)
    @ApiModelProperty("账户类型描述")
    private String accountTypeDesc;

    @Excel(name = "账户名称", width = 10)
    @ApiModelProperty("账户名称")
    private String accountName;

    @Excel(name = "货柜名称", width = 15)
    @ApiModelProperty("货柜名称")
    private String containerName;

    @Excel(name = "支付金额", width = 10)
    @ApiModelProperty("实付金额/支付金额")
    private BigDecimal actualAmount;

    @Excel(name = "分成比例", width = 15)
    @ApiModelProperty(value = "分成比例")
    private BigDecimal accountScaleRatio;

    @ApiModelProperty(value = "提点方式(0:不分成;1:按比例;2:按固定金额;3:按年限;)/佣金类型")
    private Integer accountScaleType;

    @Excel(name = "提点方式")
    @ApiModelProperty(value = "提点方式描述")
    private String accountScaleTypeDesc;

    @Excel(name = "收益")
    @ApiModelProperty(value = "分润金额/收益")
    private BigDecimal scaleAmount;

    @ApiModelProperty(value = "佣金类型")
    private Integer tradeType;

    @Excel(name = "佣金类型")
    @ApiModelProperty(value = "佣金类型描述")
    private Integer tradeTypeDesc;

    @ApiModelProperty("顾客ID")
    private Long memberId;

    @ApiModelProperty("顾客昵称")
    @Excel(name = "顾客昵称")
    private String memberName;

    @ApiModelProperty("顾客手机")
    @Excel(name = "顾客手机")
    private String memberPhone;

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @Excel(name = "订单编号", width = 20)
    @ApiModelProperty(value = "订单编号")
    private String orderCode;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 20)
    @ApiModelProperty("支付时间")
    private Date payTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "日志时间", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 20)
    @ApiModelProperty(value = "日志时间")
    private Date createTime;
}
